Generally described, computing devices may utilize a communication network, or a series of communication networks, to exchange data. Companies and organizations may operate computer networks that interconnect a number of computing devices to support operations or provide services to third parties. The computing systems may be located in a single geographic location or located in multiple, distinct geographic locations (e.g., interconnected via private or public communication networks). Specifically, data centers or data processing centers, herein generally referred to as “data centers,” may include a number of interconnected computing systems to provide computing resources to users of the data center. The data centers may be private data centers operated on behalf of an organization.
To facilitate increased utilization of data center resources, individual computing devices within a data center may be configured to provide specific functionality according to the requirements of the data center. Moreover, virtualization technologies may allow a single physical computing device to host one or more instances of a virtual machine (e.g., a virtual machine instance), where the virtual machine device instance appears to a user of a data center as an independent computing device. With virtualization, the host computing device can create, maintain, delete, or otherwise manage virtual machine instances in a dynamic manner. In turn, users can request computing resources (e.g., storage resources) from the data center, including single computing devices or a configuration of networked computing devices, and be provided with virtual machine instances that provide the requested computing resources. Thus some hosted environments may include virtual machine instances that act as computing resources for computing devices (e.g., clients). These virtual machine instances may then use storage resources in the data center.
To access these storage resources, the virtual machine instances may send input/output (I/O) requests that allow them to read and write to the storage resources. Clients may send requests to the virtual machine instances over the communications network. The virtual machine instances may also, in turn, send requests to the storage resources. Satisfying a particular request may involve a number of read and write operations or related operations. A data center operator can evaluate the performance of these resources, and measure how quickly they satisfy I/O requests, by collecting I/O metrics during the read/write operations. However, the complex one-to-many relationship between I/O requests and read/write operations may prevent traditional statistical approaches from identifying I/O metric information that is relevant to performance improvement efforts.